Some cleanup of C++ support and fix GCC 6 builds#2979
Merged
Conversation
* -nostartfiles is now always applied on GCC * currently no fini stuff is not called, but C++ code may be included in fini_array (we are probably wasting space; we may want to elide that and/or allow for fini execution) * GCC 6 seems to have been broken for some time, as it was using a non thumb/v6m set of libraries (compiled but hardfaulted on execution) * llvm libc C++ support seemed a bit behind the times, but now seems to work ok (added atomic guard code for static initializers too) * ^ actually it works fine except when built from bazel in which case we get unsatisfied link errors with new/delete for std::vector
Contributor
Author
|
fixes #1368 |
will-v-pi
reviewed
Jun 3, 2026
…not supposed to be defined by user
lurch
reviewed
Jun 3, 2026
lurch
reviewed
Jun 3, 2026
lurch
reviewed
Jun 3, 2026
lurch
reviewed
Jun 3, 2026
Co-authored-by: Andrew Scheller <lurch@durge.org>
Co-authored-by: Andrew Scheller <lurch@durge.org>
will-v-pi
approved these changes
Jun 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
-nostartfilesis now always applied on GCCfinistuff is not called, but C++ code may be included infini_array(we are probably wasting space; we may want to elide that and/or allow forfiniexecution)PICO_CXX_THREAD_SAFE_STATIC_INIT)PICO_CXX_options to newpico/cxx_options.h